#pragma once
#include "python.h"
#include "neko.h"
#include "neko_vm.h"
#include "neko_mod.h"

PyAPI_DATA(value) loader;
PyAPI_DATA(value) pyProto;
DECLARE_KIND(k_pyobject);

typedef struct {
	PyObject_HEAD
	value nekoPtr;
} NekoObject;

PyAPI_DATA(PyTypeObject) NekoObject_Type;

#define NekoObject_Check(op) PyObject_TypeCheck(op, &NekoObject_Type)

DL_EXPORT(PyObject*) ConvNeko2Py(value v);
DL_EXPORT(value) ConvPy2Neko(PyObject* v);